#ifndef __MOOSE_LIST_H__
#define __MOOSE_LIST_H__

typedef struct moose_list moose_list;

struct moose_list {
    moose_list* next;
    void*       data;
};

/* Define external interface */
moose_list* moose_list_malloc();
void moose_list_free();

bool moose_list_push(moose_list* moose_list_ptr, void* data);

moose_list* moose_list_get_last(moose_list* moose_list_ptr);

#endif
